package com.ruoyi.ma.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 材料进度详情业务对象 ma_material_progress_details
 *
 * @author llb
 * @date 2024-11-01
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class MaMaterialProgressDetailsBo extends BaseEntity {

    /**
     * 进度详情id
     */
//    @NotNull(message = "进度详情id不能为空", groups = { EditGroup.class })
    private Long progressDetailsId;

    /**
     * 计划详情id
     */
//    @NotNull(message = "计划详情id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long planDetailsId;

    /**
     * 标段id
     */
//    @NotNull(message = "标段id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long bdId;

    /**
     * 站点id
     */
    private Long zdId;

    /**
     * 供应商id
     */
    @NotNull(message = "供应商id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long gysId;

    /**
     * 类型id
     */
//    @NotNull(message = "类型id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long type;

    /**
     * 材料编号
     */
//    @NotBlank(message = "材料编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String manifestCode;

    /**
     * 材料名称
     */
//    @NotBlank(message = "材料名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String manifestName;

    /**
     * 型号
     */
//    @NotBlank(message = "型号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String model;

    /**
     * 规格
     */
//    @NotBlank(message = "规格不能为空", groups = { AddGroup.class, EditGroup.class })
    private String specification;

    /**
     * 单位
     */
//    @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String unit;

    /**
     * 本月计划采购数量
     */
//    @NotNull(message = "本月计划采购数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal monthPlanPurchaseNumber;

    /**
     * 本次供应数量
     */
//    @NotNull(message = "本次供应数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal onceSupplyNumber;

    /**
     * 本月累计供应数量
     */
//    @NotNull(message = "本月累计供应数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal monthTotalSupplyNumber;

    /**
     * 交接验收单据号
     */
//    @NotBlank(message = "交接验收单据号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String acceptanceCode;

    /**
     * 供货日期
     */
//    @NotNull(message = "供货日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String supplyDate;

    /**
     * 清单id
     */
    private Long manifestId;
    /**
     * 关联进度id
     */
    @NotNull(message = "关联进度id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long progressId;
}
